[tool.poetry]
name = "proxy_shop"
version = "0.1.0"
description = "Proxy web and telegram shop"
authors = ["Your Name <you@example.com>"]
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.11"
sqlalchemy = "2.0.13"
structlog = "^23.1.0"
orjson = "^3.9.0"
alembic = "^1.11.1"
rich = "^13.4.1"
asyncpg = "^0.27.0"
uvicorn = "^0.22.0"
uuid6 = "^2023.5.2"
uvloop = "^0.17.0"
adaptix = "^3.0.0a3"
sentry-sdk = {extras = ["fastapi"], version = "^1.28.1"}
starlette-admin = {extras = ["i18n"], version = "^0.10.1"}
itsdangerous = "^2.1.2"
fastapi-jwt-auth = "^0.5.0"
passlib = "^1.7.4"
requests = "^2.31.0"
pytz = "^2023.3"
pandas = "^2.0.3"
selectolax = "^0.3.16"
bcrypt = "^4.0.1"
black = "^23.7.0"
isort = "^5.12.0"
email-validator = "^2.0.0.post2"
speedtest-cli = "^2.1.3"
aiogram-dialog = "2.0.0b21"
aiomysql = "^0.2.0"
fluentogram = "^1.1.6"
arq = "^0.25.0"
python-dotenv = "^1.0.0"
qrcode = "^7.4.2"
aiohttp-proxy = "^0.1.2"
pytest-asyncio = "^0.21.1"
asyncssh = "^2.13.2"

[tool.poetry.group.dev]
optional = true

[tool.poetry.group.dev.dependencies]
pre-commit = "^3.3.2"

[tool.poetry.group.test]
optional = true

[tool.poetry.group.test.dependencies]
pytest = "^7.4.0"
pytest-asyncio = "0.21.1"
testcontainers = {version = "^3.7.1", extras = ["postgresql"]}
pytest-order = "^1.1.0"

[tool.poetry.group.lint]
optional = true

[tool.poetry.group.lint.dependencies]
pylint = "^2.17.4"
mypy = "^1.3.0"
flake8 = "^6.0.0"
isort = "^5.12.0"
black = "^23.3.0"

[tool.black]
line-length = 120
target-version = ["py311"]
include_trailing_comma = true
exclude = '''
(
    \.eggs
  | \.git
  | build
  | dist
  | venv
  | docs
)
'''

[tool.isort]
profile = "black"
multi_line_output = 3
line_length = 120
include_trailing_comma = true
combine_as_imports = true
remove_redundant_aliases = true

[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
